
package com.amigo.online.consumer.merchant.service;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.amigo.online.common.core.response.Response;
import com.amigo.online.common.param.dto.merchant.CancelCollectDto;
import com.amigo.online.common.param.dto.merchant.GoodsCommentDto;

/**
 * <code>MerchantCustomerService.java</code>
 * <p>
 *
 * </p>
 * <p>
 * 
 * @company Amigo
 * @author LuChen
 * @time 2018年12月17日 下午5:15:12
 * @version 1.0
 * @lastUpdate 无
 *             </p>
 */
@FeignClient(name = "amigo-online-provider-merchant")
public interface MerchantCustomerService {

	@RequestMapping(value = "/merCustomer/concernMer/{id}", method = RequestMethod.GET)
	ResponseEntity<Response> concernMerchant(@PathVariable("id") Long id);

	@RequestMapping(value = "/merCustomer/cancelConcernMer/{id}", method = RequestMethod.DELETE)
	ResponseEntity<Response> cancelConcernMerchant(@PathVariable("id") Long id);

	@RequestMapping(value = "/merCustomer/collectGood/{id}", method = RequestMethod.GET)
	ResponseEntity<Response> collectGoods(@PathVariable("id") Long id);

	@RequestMapping(value = "/merCustomer/cancelCollectGood", method = RequestMethod.POST)
	ResponseEntity<Response> cancelCollectGoods(CancelCollectDto ids);

	@RequestMapping(value = "/merCustomer/commentGood", method = RequestMethod.POST)
	ResponseEntity<Response> commentGoods(GoodsCommentDto goodsCommentDto);

	@RequestMapping(value = "/merCustomer/deleteComment/{id}", method = RequestMethod.DELETE)
	ResponseEntity<Response> deleteCommentGoods(@PathVariable("id") Long id);

	@RequestMapping(value = "/merCustomer/concernMerList/{page}/{size}", method = RequestMethod.GET)
	ResponseEntity<Response> getConcernMerList(@PathVariable("page") Integer page, @PathVariable("size") Integer size);

	@RequestMapping(value = "/merCustomer/collectMerList/{page}/{size}", method = RequestMethod.GET)
	ResponseEntity<Response> getCollectMerList(@PathVariable("page") Integer page, @PathVariable("size") Integer size);

	@RequestMapping(value = "/merCustomer/commentMerList/{page}/{size}", method = RequestMethod.GET)
	ResponseEntity<Response> getCommentMerList(@PathVariable("page") Integer page, @PathVariable("size") Integer size);

	@RequestMapping(value = "/merCustomer/commentListByGoodId/{id}/{type}/{status}/{page}/{size}", method = RequestMethod.GET)
	ResponseEntity<Response> getCommentGoodsList(@PathVariable("id") Integer id, @PathVariable("type") Integer type,
			@PathVariable("status") Integer status,
			@PathVariable("page") Integer page, @PathVariable("size") Integer size);

	@RequestMapping(value = "/merCustomer/homePage", method = RequestMethod.GET)
	ResponseEntity<Response> getHomePage();

	@RequestMapping(value = "/merCustomer/merchantHome", method = RequestMethod.GET)
	ResponseEntity<Response> getMerchantHome(@RequestParam("merchantId") Long merchantId, @RequestParam("page") Integer page,
			@RequestParam("size") Integer size);

	@RequestMapping(value = "/merCustomer/v2/homePage", method = RequestMethod.GET)
	ResponseEntity<Response> getHomePageV2();

}
